﻿using System;
namespace Producers.Kis.Xtee.Riik.Ee.Producer.Kis {
    
    
    public partial class ClaimData : global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IClaimData {
        
        private System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPrincipalClaim> @__principalClaim = new System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPrincipalClaim>();
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Sum @__claimTotal;
        
        private System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IClaimBaseClaimData> @__claimBase = new System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IClaimBaseClaimData>();
        
        private decimal @__principalClaimsTotal;
        
        private decimal @__collateralClaimsTotal;
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Description @__circumstancesDescription;
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Currency @__currency;
        
        private System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IClaimBaseClaim> @__claimBaseClaim = new System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IClaimBaseClaim>();
        
        public ClaimData() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public ClaimData(System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPrincipalClaim> @principalClaim, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Sum @claimTotal, System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IClaimBaseClaimData> @claimBase, decimal @principalClaimsTotal, decimal @collateralClaimsTotal, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Description @circumstancesDescription, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Currency @currency, System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IClaimBaseClaim> @claimBaseClaim) {
            this.@__principalClaim = @principalClaim;
            this.@__claimTotal = @claimTotal;
            this.@__claimBase = @claimBase;
            this.@__principalClaimsTotal = @principalClaimsTotal;
            this.@__collateralClaimsTotal = @collateralClaimsTotal;
            this.@__circumstancesDescription = @circumstancesDescription;
            this.@__currency = @currency;
            this.@__claimBaseClaim = @claimBaseClaim;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public ClaimData(System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPrincipalClaim> @principalClaim, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Sum @claimTotal, System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IClaimBaseClaimData> @claimBase, decimal @principalClaimsTotal, decimal @collateralClaimsTotal, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Description @circumstancesDescription, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Currency @currency) {
            this.@__principalClaim = @principalClaim;
            this.@__claimTotal = @claimTotal;
            this.@__claimBase = @claimBase;
            this.@__principalClaimsTotal = @principalClaimsTotal;
            this.@__collateralClaimsTotal = @collateralClaimsTotal;
            this.@__circumstancesDescription = @circumstancesDescription;
            this.@__currency = @currency;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected ClaimData(IClaimData @claimData) {
            this.@__principalClaim = @claimData.PrincipalClaim;
            this.@__claimTotal = @claimData.ClaimTotal;
            this.@__claimBase = @claimData.ClaimBase;
            this.@__principalClaimsTotal = @claimData.PrincipalClaimsTotal;
            this.@__collateralClaimsTotal = @claimData.CollateralClaimsTotal;
            this.@__circumstancesDescription = @claimData.CircumstancesDescription;
            this.@__currency = @claimData.Currency;
            this.@__claimBaseClaim = @claimData.ClaimBaseClaim;
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPrincipalClaim> PrincipalClaim {
            get {
                return this.@__principalClaim;
            }
            set {
                this.@__principalClaim = value;
            }
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Sum ClaimTotal {
            get {
                return this.@__claimTotal;
            }
            set {
                this.@__claimTotal = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IClaimBaseClaimData> ClaimBase {
            get {
                return this.@__claimBase;
            }
            set {
                this.@__claimBase = value;
            }
        }
        
        public virtual decimal PrincipalClaimsTotal {
            get {
                return this.@__principalClaimsTotal;
            }
            set {
                this.@__principalClaimsTotal = value;
            }
        }
        
        public virtual decimal CollateralClaimsTotal {
            get {
                return this.@__collateralClaimsTotal;
            }
            set {
                this.@__collateralClaimsTotal = value;
            }
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Description CircumstancesDescription {
            get {
                return this.@__circumstancesDescription;
            }
            set {
                this.@__circumstancesDescription = value;
            }
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Currency Currency {
            get {
                return this.@__currency;
            }
            set {
                this.@__currency = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IClaimBaseClaim> ClaimBaseClaim {
            get {
                return this.@__claimBaseClaim;
            }
            set {
                this.@__claimBaseClaim = value;
            }
        }
    }
}
